a = 10

print(a)

a1 = 20

# python变量名是大小写敏感的，区分大小写

b = a
print(b)

a = 20
print(a)

print(type(a))
# 在python中，int能表示的数据范围是无穷的 python的int可以根据数据要表示的大小，自动增容
# 因此，python就没有long这样的类型，并且byte short这样的类型在python中也不存在

b = 0.5
print(type(b))
# C++中float是四个字节，也叫做单精度浮点数
# double 是八个字节，是双节点浮点数
# python中的float就是双精度浮点数等同于C++中的double 不需要double

# python的一个设计哲学：解决一个问题，只提供一种方案！

# 字符串使用单引号还是双引号都是可以的
c ='hello'
print(type(c))

d ='hello'
print(type(d))


e ="My name is 'Jared'"
print(type(e))

#python中还有一种字符串表示方式 三引号 ‘’‘ “”“

f = """My "name" is 'Jared'"""
print(type(f))


print(len(d))

a1 ='hello'
a2 ='world'
print(a1 + a2)#形如这样的代码就是字符串拼接，对于原来的a1和a2没有影响，不能把字符串和数字混合相加

#在python中报错有两种情况 1、语法错误，在程序运行之前，解释器就能把错误识别 2、运行错误，程序运行之前识别不了，必须运行到对应的代码，才能识别

# 布尔类型 取值只有真和假

m = True
print(type(m))

n = False
print(type(n))

# 类型的意义
# 不同的类型，占用的空间是不同的 int 4个字节但是可以动态扩容 float固定是8个字节 bool类型 1个字节  字符串 变长
# 不同的类型，能够对应的操作也不同

# 动态类型,在程序运行的过程中，变量的类型可能会发生改变！

a1 = 10
print(type(a))

a ='hello'
print(type(a))
# a的运行，随着程序的运行中，就发生改变~

# 一个编程语言，是否是动态类型，只取决于运行时，类型是否发生改变，不取决变量定义的时候是否声明类型！
# python作为一个动态类型的语言，在定义变量的时候，也是可以也是可以写类型的

a2:int = 10
a3:str = 'hello'

# 动态类型的这种写法，比较灵活的，提高了语言的表达能力，然而编程中”灵活“往往是”贬义“，更容易出错！
# 相比之下，静态类型的语言是更好一些的，尤其是在多人协助开发的大型程序之中

# 注释，提高代码的可读性
# python中有两种注释方法  1、注释行 # 一般写到代码的上方 2、文档字符串，使用三引号引起来

"""
这是一段文档字符串
"""